package com.dmw.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 订单表(DmOrder)实体类
 *
 * @author makejava
 * @since 2021-03-19 00:31:56
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DmOrder implements Serializable {
    private static final long serialVersionUID = 821861761812728942L;
    /**
     * 主键
     */
    private Long id;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 下单用户Id
     */
    private Long userId;
    /**
     * 排期ID
     */
    private Long schedulerId;
    /**
     * 剧集Id(冗余)
     */
    private Long itemId;

    private String itemName;
    /**
     * 微信交易号
     */
    private String wxTradeNo;
    /**
     * 支付宝交易号
     */
    private String aliTradeNo;
    /**
     * 订单类型(0:未支付 -1:支付超时/支付取消 2:已支付)
     */
    private Integer orderType;
    /**
     * 支付类型(1:微信支付 2：支付宝支付)
     */
    private String payType;
    /**
     * 购买数目
     */
    private Integer totalCount;

    private Long area;
    /**
     * 0:WEB端 1:手机端 2:其他客户端
     */
    private Integer sourceType;
    /**
     * 是否需要发票（0：不需要 1：需要）
     */
    private Integer isNeedInvoice;
    /**
     * 发票类型（0：个人 1：公司）
     */
    private Integer invoiceType;
    /**
     * 发票抬头
     */
    private String invoiceHead;
    /**
     * 发票号
     */
    private String invoiceNo;
    /**
     * 是否需要保险(0：不需要 1:需要)
     */
    private Integer isNeedInsurance;
    /**
     * 总价
     */
    private Double totalAmount;
    /**
     * 保险金额
     */
    private Double insuranceAmount;
    /**
     * 创建时间
     */
    private Date createdTime;
    /**
     * 更新时间
     */
    private Date updatedTime;

    @Override
    public String toString() {
        return "DmOrder{" +
                "id=" + id +
                ", orderNo='" + orderNo + '\'' +
                ", userId=" + userId +
                ", schedulerId=" + schedulerId +
                ", itemId=" + itemId +
                ", itemName='" + itemName + '\'' +
                ", wxTradeNo='" + wxTradeNo + '\'' +
                ", aliTradeNo='" + aliTradeNo + '\'' +
                ", orderType=" + orderType +
                ", payType='" + payType + '\'' +
                ", totalCount=" + totalCount +
                ", area=" + area +
                ", sourceType=" + sourceType +
                ", isNeedInvoice=" + isNeedInvoice +
                ", invoiceType=" + invoiceType +
                ", invoiceHead='" + invoiceHead + '\'' +
                ", invoiceNo='" + invoiceNo + '\'' +
                ", isNeedInsurance=" + isNeedInsurance +
                ", totalAmount=" + totalAmount +
                ", insuranceAmount=" + insuranceAmount +
                ", createdTime=" + createdTime +
                ", updatedTime=" + updatedTime +
                '}';
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getSchedulerId() {
        return schedulerId;
    }

    public void setSchedulerId(Long schedulerId) {
        this.schedulerId = schedulerId;
    }

    public Long getItemId() {
        return itemId;
    }

    public void setItemId(Long itemId) {
        this.itemId = itemId;
    }

    public String getItemName() {
        return itemName;
    }

    public void setItemName(String itemName) {
        this.itemName = itemName;
    }

    public String getWxTradeNo() {
        return wxTradeNo;
    }

    public void setWxTradeNo(String wxTradeNo) {
        this.wxTradeNo = wxTradeNo;
    }

    public String getAliTradeNo() {
        return aliTradeNo;
    }

    public void setAliTradeNo(String aliTradeNo) {
        this.aliTradeNo = aliTradeNo;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public Integer getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Integer totalCount) {
        this.totalCount = totalCount;
    }

    public Long getArea() {
        return area;
    }

    public void setArea(Long area) {
        this.area = area;
    }

    public Integer getSourceType() {
        return sourceType;
    }

    public void setSourceType(Integer sourceType) {
        this.sourceType = sourceType;
    }

    public Integer getIsNeedInvoice() {
        return isNeedInvoice;
    }

    public void setIsNeedInvoice(Integer isNeedInvoice) {
        this.isNeedInvoice = isNeedInvoice;
    }

    public Integer getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(Integer invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getInvoiceHead() {
        return invoiceHead;
    }

    public void setInvoiceHead(String invoiceHead) {
        this.invoiceHead = invoiceHead;
    }

    public String getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(String invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    public Integer getIsNeedInsurance() {
        return isNeedInsurance;
    }

    public void setIsNeedInsurance(Integer isNeedInsurance) {
        this.isNeedInsurance = isNeedInsurance;
    }

    public Double getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Double totalAmount) {
        this.totalAmount = totalAmount;
    }

    public Double getInsuranceAmount() {
        return insuranceAmount;
    }

    public void setInsuranceAmount(Double insuranceAmount) {
        this.insuranceAmount = insuranceAmount;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public Date getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
    }
}
